1. Technical Field
Embodiments generally relate to root hub controllers. More particularly, embodiments relate to root hub controllers having virtual transaction translators.
2. Discussion
Root hub host controllers such as USB (Universal Serial Bus, e.g., USB Specification, Rev. 2.0, Apr. 27, 2000, USB 3.0 Specification, Rev. 1.0, Nov. 12, 2008, etc.) controllers can be used to connect computing systems to a wide variety of devices such as digital cameras, keyboards and mice. Indeed, a typical computing system might include multiple integrated USB ports, which can enable devices to communicate with the computing system through the root hub host controller. Certain devices, however, may have a maximum operating speed (e.g., processing frequency/rate) that is significantly less than the operating speed of the host controller. To limit the host controller's communication speed to that of the connected device could have a significantly negative impact on performance. Accordingly, the host controller may be equipped with an integrated transaction translator (TT) component that communicates through the software interface of the controller at relatively fast speeds and through the USB ports of the controller at slower speeds if the device(s) attached to those ports are slower devices.
In order to facilitate the translation capability, the software interface of the host controller may issue “split” tokens to the TT component. For example, when an OUT transaction is sent to an FS (full speed, 12 MHz) or LS (low speed, 1.5 MHz) device, the host controller driver and hardware may generate a Start Split (SSplit) token, an OUT token and data, and broadcast this information to all of the downstream ports via the TT component. Later, the host controller can issue a Completion Split (CSplit) token to the TT component, which may return an acknowledgement if the target device has acknowledged successful receipt of all data. The generation of the split tokens can consume bandwidth and power, and may require extra chip real estate. Moreover, the broadcasting of split token transactions to all downstream ports can limit the computing system's ability to communicate with multiple USB devices.